/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.utils.common; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.IPath; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.handlers.HandlerUtil; /** * @see org.eclipse.core.commands.IHandler * @see org.eclipse.core.commands.AbstractHandler * @author Misiak Martin */ public class CopyFullpathHandler extends AbstractHandler { public CopyFullpathHandler() {} @Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); String fullPath = ""; ISelectionService selService = window.getSelectionService(); IStructuredSelection selection = (IStructuredSelection) selService.getSelection(); if (selection.getFirstElement() instanceof IResource) { IResource file = (IResource) selection.getFirstElement(); IPath path = file.getLocation(); fullPath = path.toOSString(); } ClipboardHelper.setContent(fullPath); return null; } }